# 语法
# {key_expression: value_expression for item in iterable}
# 创建一个字典，其中包含iterable中每个元素的key_expression和value_expression
# key_expression: 用于生成字典的健的表达式
# value_expression: 用于生成字典的值的表达式
# item: 从iterable中取出的元素
# iterable: 可以是列表、元组、集合、字符串、生成器等可迭代对象

# 从列表创建字典：创建一个包含数字及其平方的字典
def dict_tuidao_1():
    my_list = [1, 2, 3, 4, 5]
    my_dict = {num: num ** 2 for num in my_list}
    print(my_dict)


# 从两个列表创建字典：创建一个包含水果及其价格的字典
def dict_tuidao_2():
    fruits = ['apple', 'banana', 'orange']
    prices = [1.5, 2.0, 1.75]
    my_dict = {fruit: price for fruit, price in zip(fruits, prices)}
    print(my_dict)
    # 遍历字典输出内容
    for key, value in my_dict.items():
        print(f'水果：{key},价格：{value}')


# 将二维列表转换为字典：创建一个包含学生及其成绩的字典
def dict_tuidao_3():
    students = [['张三', 90], ['李四', 85], ['王五', 95]]
    my_dict = {student[0]:student[1] for student in students}
    print(my_dict)
    for key, value in my_dict.items():
        print(f'学生：{key},成绩：{value}')


if __name__ == '__main__':
    # dict_tuidao_1()
    # dict_tuidao_2()
    dict_tuidao_3()
